Розв’язування системи лінійних алгебраїчних рівнянь методом Гауса

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Кафедра автоматизованих систем управління

Інформація про роботу

Рік:
2011
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Чисельні методи в інформатиці

Частина тексту файла

Міністерство освіти і науки України Національний університет «Львівська політехніка» Кафедра автоматизованих систем управління Звіт до лабораторної роботи № 2 з курсу «Чисельні методи в інформатиці» на тему «Розв’язування системи лінійних алгебраїчних рівнянь методом Гауса» Львів – 2011 Мета роботи: навчитись розв’язувати систему лінійних алгебраїчних рівнянь методом Гауса. Короткі теоретичні відомості Нехай задана система п лінійних рівнянь із п невідомими, яка в матричному записі має вигляд (1) – шуканий вектор – розв’язок із відповідними компонентами. Метод Гауса полягає в зведенні квадратної системи (1) до трикутного вигляду з використан-ням алгоритму послідовного виключення невідомих. Алгоритм методу Гауса складається з двох етапів: Триангуляція матриці  Обчислення розв’язку  Варіант 17 наступну СЛАР розв’язати методом Гауса     X1=-0,44 X2=2,47 X3=-0,86 X4=-2.07 Текст програми: #include <vcl.h> #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; int k_z=4; float A_mas[5][5]={{1.17,2,3,-2,6},{2,-0.17,-2,-3,6.64},{3,2,-1,1.83,0.68},{2,-3,2,1,-12.08}}, A[5][5]={{1.17,2,3,-2,6},{2,-0.17,-2,-3,6.64},{3,2,-1,1.83,0.68},{2,-3,2,1,-12.08}}, x_mas[4]={0}; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::FormCreate(TObject *Sender) { for (int i=0;i<=k_z;i++) { for (int j=0;j<=k_z;j++) { StringGrid1->Cells[j][0]="X"+IntToStr(j+1); StringGrid1->Cells[i][j+1]=FloatToStrF(A[i][j],ffFixed,6,2); } StringGrid2->Cells[0][i]="X"+IntToStr(i+1); StringGrid3->Cells[0][i]=FloatToStrF(A[i][k_z],ffFixed,6,2); } } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { int k,i,j; for (i=0; i<k_z; i++) for (j=0; j<=k_z; j++) A_mas[i][j]=A[i][j]; for(k=0; k<k_z-1; k++) for(i=k+1; i<k_z; i++) for(j=k_z; j>=k; j--) A_mas[i][j]=A_mas[i][j]*A_mas[k][k]-A_mas[k][j]*A_mas[i][k]; for(i=k_z-1; i>=0; i--) { float sum=0; for(j=k_z-1; j>i; j--) sum += A_mas[i][j]*x_mas[j]; x_mas[i]=(A_mas[i][k_z]-sum)/A_mas[i][i]; } for (i=0;i<=k_z;i++) StringGrid2->Cells[1][i]=FloatToStrF(x_mas[i],ffFixed,6,2); } //--------------------------------------------------------------------------- Результат виконання програми:  Висновок: На цій лабораторній роботі я розв’язав систему лінійних алгебраїчних рівнянь методом Гауса, а також запрограмував його.
Антиботан аватар за замовчуванням

20.02.2013 20:02

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини